草庐IT

MySQL ORDER BY 多列 ASC 和 DESC

全部标签

mysql - 使用多列表有什么缺点吗

我正在计划一个数据库结构,它将存储相当多的数据。我们需要为每个项目存储50个不同的数据“列”。添加一个时间戳,这给了我们52列(和2个索引,这将是过滤此数据的唯一方式)。这个数据库每天都会添加几千行(并且永远不会更新),并且会使用一段时间。所以我的第一选择是将所有内容都塞到一张表中。让我思考52列是不是有点不好?我从来没有想过。诚然,插入代码会很烦人,但我不会手写它们。我应该将它拆分成多个表(然后使用联接或其他方法吗?),或者有那么大的表没有问题吗?如果它有所作为,我正在使用mysql。添加:澄清我将如何使用数据:排序和过滤只会在索引列上进行。在目前的计划中,数据将用于“人类消费”,因

PYTHON:使用 python 变量更新多列

我正在尝试编写一个有效的mysql语句,允许我使用作为python变量提供的值更新一条记录中的多个列。我的陈述看起来像这样:db=MySQLdb.connect(host="localhost",user="user",passwd="password",db="dbname")cursor=db.cursor()sql_update="UPDATEtable_nameSETfield1=%s,field2=%s,field3=%s,field4=%s,field5=%s,field6=%s,field7=%s,field8=%s,field9=%s,field10=%sWHEREid

mysql 查询顺序 ASC 从 1 开始然后显示全部为零

我有一个“顺序”列,我在其中存储文章,然后按特定顺序显示它们。我使用默认为0的枚举类型'0','1','2','3'。我需要一个查询来对结果进行排序:1、2、3、0、0、0、0等等带零。可能吗? 最佳答案 试一试:select*fromtableorderbyval='0',val即使您稍后将新值添加到枚举中,这也会起作用。 关于mysql查询顺序ASC从1开始然后显示全部为零,我们在StackOverflow上找到一个类似的问题: https://stack

mysql - 排序 - 按日期 ASC 排序

我在mysql中有“日期”列以这种格式保存日期2014年9月17日(日-月-年)我需要对它们进行升序排序,所以我使用了这个命令:SELECT*FROMtableORDERBYdateASC但是我发现了这个结果:17-09-201418-09-201519-09-2014应该是:17-09-201419-09-201418-09-2015它只对日期进行ASC排序,而不是对完整日期进行排序 最佳答案 试试这个:SELECT*FROMtableORDERBYSTR_TO_DATE(date,'%d-%m-%Y')ASC

mysql - 将列添加到现有的多列索引

在我的表中,我有一个列(名称,文件夹)的多列索引我最近添加了一个名为date的新列,我想在其中放入一个索引,但我想将它放入现有的多列索引中当我做Altertablebooksaddindextheindex(date);我得到Duplicatekeyname'theindex'如何在不创建新键的情况下向索引添加另一列? 最佳答案 只需将语法更改为以下方式即可将新列添加到索引中:ALTERtable`books`DROPINDEXtheindex;ALTERtable`books`ADDINDEXtheindex(`date`,`ti

sql - MySQL COUNT() 多列

我正在尝试从我的数据库中的所有视频中获取最流行的标签(忽略空白标签)。我还需要每个标签的“flv”。如果每个视频都有一个标签,我可以按照自己的意愿工作:SELECTtag_1,flv,COUNT(tag_1)AStagcountFROMvideosWHERENOTtag_1=''GROUPBYtag_1ORDERBYtagcountDESCLIMIT0,10但是在我的数据库中,每个视频允许三个标签-tag_1、tag_2和tag_3。有没有办法从多个列中读取最流行的标签?记录结构为:+-----------------+--------------+------+-----+-----

mysql - ZF 中的多列排序?

我得到了这个代码$select->from(array("e"=>"embarcacoes"))->join(array("i"=>"imagens"),'e.id=i.barcoId')->where("e.tipo='{$this->view->tipoEmbarcacao}'")->group("i.barcoId")->limitPage($paginaAtual,$porPagina)->order('e.prioridadeDESC');效果很好,如果我将->order('prioridadeDESC');行更改为->order('idDESC');它仍然有效好吧,但如果我

mysql - 按 desc 选择不同的值顺序

我想通过s.no或time或任何方式选择不同的customer_id订单s.nocustomer_idtime1310000122100002341000034310000452100005我正在使用selectdistinct(customer_id)fromtable_nameorderbytimeDESC它给出的答案是423但我希望它应该是234 最佳答案 所以你的问题陈述是“你想要customer_id的列表,从它们的最大时间值降序排列”,对吧?SELECTcustomer_id,MAX(time)FROMtable_nam

php - Yii:按 id ASC 选择最后 20 个条目

我想获取表中的最后20个条目,但按id升序排序。在Sql中它不是很复杂:SELECT*FROM(SELECT*FROMcommentsWHEREpostID='$id'ORDERBYidDESCLIMIT20)tORDERBYidASC;但我想像这样使用我的yii模型:Comment::model()->findAll($criteria)但我真的不知道应该在我的CDbCriteria中放入什么! 最佳答案 $models=Comment::model()->findAll(array("condition"=>"WHEREpost

php - MYSQL 连接同一张表中的多列

我正在尝试使用Join从表2中获取skill1、skill2和skill3的技能名称。当我试图单独获得skill1时,它工作正常。但是,当我尝试获取下一列的详细信息时,出现了1066Notuniquetable/alias错误。表1(用户表)======================================IDNameskillskill2skill3======================================1Ed143--------------------------------------表2(技能详情)========================